Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2005
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритми
Група:
СТА - 53

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ I HAУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ОЛІТЕХНІКА”  ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 1 З КУРСУ “АЛГОРИТМИ І ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ СПЕЦІАЛЬНИХ КОМП’ЮТЕРНИХ СИСТЕМ” Завдання Написати програму алгоритмічною мовою С++. Реалізувати Одномірний масив A[N] із такими методами: конструктор повинен дозволяти створювати об'єкти з ініціалізацією і без ініціалізації. Перевантажити операції +, *<тип>, виводу <<, вводу >>, =, == для об'єктів класу, а також дружні операції <тип>*, -=<тип>, використовуючи механізм перевантаження функцій та операцій, а також значення параметрів за замовчуванням. Написати фрагмент програми з використанням класового типу та заданих методів. Текст програми #include<iostream.h> const int M=3; class Array { public: Array(); Array(double myArray[]); void SetArray(double myArray,int i) {theArray[i]=myArray;} double GetArray( int j) const {return theArray[j];} Array operator+(const Array & rhs); bool operator==(const Array & rhs); Array operator*(const Array & rhs); friend istream &operator>>(istream & theStream,Array & A); friend ostream &operator<<(ostream & theStream,Array & A); friend void operator-=(Array & rhs,Array & lhs); private: double theArray[M]; }; Array::Array() { for(int i=0;i<M;i++) theArray[i]=i*2; } Array::Array(double myArray[]) { for(int i=0;i<M;i++) theArray[i]=myArray[i]; } istream &operator>>(istream & theStream,Array & A) { double Arr; for(int i=0;i<M;i++) { cin>>Arr; A.SetArray(Arr,i); } return theStream; } ostream &operator<<(ostream & theStream,Array & A) { for(int i=0;i<M;i++) cout<<A.GetArray(i)<<"\t"; return theStream; } Array Array::operator+(const Array & rhs) { Array A; for(int i=0;i<M;i++) A.SetArray((rhs.GetArray(i)+theArray[i]),i); return(A); } bool Array::operator==(const Array & rhs) { for(int i=0;i<M;i++) if(theArray[i]!=rhs.GetArray(i)) { return false; break; } return true; } Array Array::operator*(const Array & rhs) { Array A; for(int i=0;i<M;i++) A.SetArray((rhs.GetArray(i)*theArray[i]),i); return(A); } void operator-=(Array & rhs,Array & lhs) { for(int i=0;i<M;i++) rhs.SetArray((rhs.GetArray(i)-lhs.GetArray(i)),i); } int main() { double A[M]={1,2,3},B[M]={0,0,0}; Array myArray1,myArray2(A),myArray3; int i, choice; bool fQuit=false; while(fQuit==false) { cout<<"\n(1)Output array (2)Input array (3)Addition\n(4)Multiplication (5)Equate (6)Compare (7)Minus-equal\n"; cin>>choice; switch(choice) { case 1: cout<<"\nOutput Arrays\n"; cout<<"\n***My Array 1***\n"<<myArray1; cout<<"\n***My Array 2***\n"<<myArray2; cout<<"\n***My Array 3***\n"<<myArray3; break; case 2: cout<<"\nInput Array1\n"; cin>>myArray1; cout<<"\n***My Array 1***\n"<<myArray1; cout<<"\n***My Array 2***\n"<<myArray2; cout<<"\n***My Array 3***\n"<<myArray3; break; case 3: myArray3=(myArray1+myArray2); cout<<"\nmyArray3=myArray1+myArray2\n***My Array 1***\n"<<myArray1; cout<<"\n***My Array 2***\n"<<myArray2; cout<<"\n***My Array 3***\n"<<myArray3; break; case 4: myArray3=(myArray1*myArray2); cout<<"\nmyArray3=myArray1*myArray2\n***My Array 1***\n"<<myArray1; cout<<"\n***My Array 2***\n"<<myArray2; cout<<"\n***My Array 3***\n"<<myArray3; break; case 5: myArray3=myArray1; cout<<"\nmyArray3=myArray1\n***My Array 1***\n"<<myArray1; cout<<"\n***My Array 2***\n"<<myArray2; cout<<"\n***My Array 3***\n"<<myArray3; break; case 6: cout<<"\nCompare\n"; if(myArray1==myArray2) cout<<"myArray1=myArray2\n"; else cout<<"myArray1!=myArray2\n"; break; case 7: myArray3-=myArray2; cout<<"\nmyArray3-=myArray2\n***My Array 1***\n"<<myArray1; cout<<"\n***My Array 2***\n"<<myArray2; cout<<"\n***My Array 3***\n"<<myArray3; break; default: fQuit=true; break; } } return 0; } Результат виконання програми  
Антиботан аватар за замовчуванням

31.03.2013 16:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини